[アップデート]ALBとNLBは、IPv6アドレスのEC2インスタンスを直接ターゲットとして登録できるようになったため、Auto Scalingしてみた
はじめに
Application Load Balancer(ALB)とNetwork Load Balancer(NLB)は、インターネットプロトコルバージョン6(以降、IPv6)のアドレスが割り当てられたインスタンスを直接ターゲットとして登録できるようになりました。
これまでは、IPv6アドレスのインスタンスをターゲットとして直接登録することはできなかったため、各インスタンスのIPv6アドレスを個々のIPアドレス指定する必要がありました。
今回のアップデートにより、ターゲットタイプがインスタンスのターゲットグループで、IPv6アドレスのインスタンスを指定できます。
また、アップデートにより、アプリケーションの需要に応じてAuto ScalingグループがEC2インスタンスを自動的に追加(スケールアウト)または削除(スケールイン)した際に、それらのインスタンスは同時にターゲットグループに登録または削除されるようになります。
これにより、ロードバランサーの管理が大幅に効率化されます。
2024年2月に、パブリックIPv4アドレスの料金改定があり、IPv6アドレスに移行を検討されている方もいらっしゃると思いますので、このアップデートはうれしいですね。
今回は、ターゲットグループでIPv6アドレスのインスタンスを利用し、Auto Scalingグループを作成してみます。
事前設定
- IPv4/IPv6のデュアルスタックVPCを作成
- ALBは、IPv6のみではサポートされていないため
- EC2インスタンスにNginxを導入し、AMIを作成(Auto Scalingグループ作成時に使用します)
ALB作成
まず、ターゲットグループは、ターゲットタイプがインスタンス、IPアドレスタイプがIPv6タイプで作成します。
ターゲットの登録はせずに作成します。
ALBを作成します。IPアドレスタイプは、Dualstackを選択し、VPCはデュアルスタックVPCを指定します。
先程作成したターゲットグループを選択します。
ALBの作成は、これで完了です。
起動テンプレートを作成
続いて、起動テンプレートを作成します。
AMIは、Nginxを指定します。
サブネットを指定しないとネットワークインターフェースが選択できませんので、指定しIPv6 IPを割り当てます。
パブリックIPは不要なので、割り当てません。
これで、起動テンプレートは作成完了です。
Auto Scaling グループを作成する
最後に、Auto Scaling グループを作成します。
複数のサブネットにEC2を起動したいので、2つのサブネットを指定します。
ロードバランサーは、先程作成したALBとターゲットグループを指定します。
今回は2台起動する設定にします。
Auto Scaling グループ作成後、起動したEC2インスタンスを確認してみます。IPv6 アドレスが指定されていますね。
ターゲットグループも確認します。アドレスタイプがIPv6で、ターゲットはIP指定ではなくインスタンスが指定されていますね。
また、2つのAZで起動しています。
ALBのDNS名(ipv6-alb-668971918.ap-northeast-1.elb.amazonaws.com
)でアクセスしてみます。
Nginxのデフォルトページが表示されました。
最後に
今回のアップデートで、ALBやNLBのターゲットグループは、IPv6のEC2インスタンスを直接指定できるようになり、また、Auto Scalingグループをターゲットグループで利用できるようになりました。
今後もIPv6でできることが増えてくると思いますので、期待しましょう。